--- /dev/null
+<html>\r
+<head>\r
+ <title>The source code</title>\r
+ <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
+ <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
+</head>\r
+<body onload="prettyPrint();">\r
+ <pre class="prettyprint lang-js">Ext.onReady(function(){\r
+ Ext.Direct.addProvider(\r
+ Ext.app.REMOTING_API,\r
+ {\r
+ type:'polling',\r
+ url: 'php/poll.php'\r
+ }\r
+ );\r
+\r
+ var out = new Ext.form.DisplayField({\r
+ cls: 'x-form-text',\r
+ id: 'out'\r
+ });\r
+\r
+ var text = new Ext.form.TextField({\r
+ width: 300,\r
+ emptyText: 'Echo input'\r
+ });\r
+\r
+ var call = new Ext.Button({\r
+ text: 'Echo',\r
+ handler: function(){\r
+ TestAction.doEcho(text.getValue(), function(result, e){\r
+ var t = e.getTransaction();\r
+ out.append(String.format('<p><b>Successful call to {0}.{1} with response:</b><xmp>{2}</xmp></p>',\r
+ t.action, t.method, Ext.encode(result)));\r
+ out.el.scroll('b', 100000, true);\r
+ });\r
+ }\r
+ });\r
+\r
+ var num = new Ext.form.TextField({\r
+ width: 80,\r
+ emptyText: 'Multiply x 8',\r
+ style: 'text-align:left;'\r
+ });\r
+\r
+ var multiply = new Ext.Button({\r
+ text: 'Multiply',\r
+ handler: function(){\r
+ TestAction.multiply(num.getValue(), function(result, e){\r
+ var t = e.getTransaction();\r
+ if(e.status){\r
+ out.append(String.format('<p><b>Successful call to {0}.{1} with response:</b><xmp>{2}</xmp></p>',\r
+ t.action, t.method, Ext.encode(result)));\r
+ }else{\r
+ out.append(String.format('<p><b>Call to {0}.{1} failed with message:</b><xmp>{2}</xmp></p>',\r
+ t.action, t.method, e.message));\r
+ }\r
+ out.el.scroll('b', 100000, true);\r
+ });\r
+ }\r
+ });\r
+\r
+ text.on('specialkey', function(t, e){\r
+ if(e.getKey() == e.ENTER){\r
+ call.handler();\r
+ }\r
+ });\r
+\r
+ num.on('specialkey', function(t, e){\r
+ if(e.getKey() == e.ENTER){\r
+ multiply.handler();\r
+ }\r
+ });\r
+\r
+ var p = new Ext.Panel({\r
+ title: 'Remote Call Log',\r
+ //frame:true,\r
+ width: 600,\r
+ height: 300,\r
+ layout:'fit',\r
+ \r
+ items: [out],\r
+ bbar: [text, call, '-', num, multiply]\r
+ }).render(Ext.getBody());\r
+\r
+ Ext.Direct.on('message', function(e){\r
+ out.append(String.format('<p><i>{0}</i></p>', e.data));\r
+ out.el.scroll('b', 100000, true);\r
+ });\r
+});\r
+</pre> \r
+</body>\r
+</html>
\ No newline at end of file